package cn.dnui_xqh414.dnuifood_16110100414.model;

import cn.dnui_xqh414.dnuifood_16110100414.listener.OnRetrofitListener;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
import retrofit2.converter.scalars.ScalarsConverterFactory;

public class BaseModel {
    public Retrofit retrofit;
    private static String BaseUrl
            ="http://172.24.10.175:8080/foodService/";

    public BaseModel(){

        retrofit = new Retrofit.Builder()
                .baseUrl(BaseUrl)
                .addConverterFactory
                        (GsonConverterFactory.create())
                .build();
    }


    public <T> void bindCallBack (Call<T> call,
                                   final OnRetrofitListener listener,
                                   final int flag){
        call.enqueue(new Callback<T>() {
            @Override
            public void onResponse(Call<T> call, Response<T> response) {
                if (response.body()==null){
                    listener.onFailure("error");
                }
                else {
                    listener.onSuccess(response.body(), flag);
                }
            }

            @Override
            public void onFailure(Call<T> call, Throwable t) {
                listener.onFailure(t.toString());
            }
        });
    }

}